﻿using System;
using Wolfpack.Periscope.Core.Interfaces.Entities;

namespace Wolfpack.Periscope.Core.Interfaces
{
    public interface IWidget<out T> : IWidgetPresenter
        where T : WidgetConfiguration
    {
        WidgetDefinition Definition { get; }
        T Configuration { get; }
        IWidget<T> Configure(Action<T> configuratron);
        WidgetInstance CreateInstance();
    }
}